package CODEC;

import domain.Message;
import domain.PDU.PDU;
import domain.PDU.VariableBindings;

/**
 * @Author: ylc
 * @Description:编码方法
 */
public interface Encoding {
    /**
     * 获取SNMP区的BER代码
     * @param snmp 未编码的SNMP数据
     * @return SNMP整体的编码
     */
    byte[] getSnmpMessageCoding(Message snmp);
    /**
     * 获取PDU区的BER编码
     * @param pdu 未编码的PDU数据
     * @return PDU整体的编码
     */
    byte[] getPduCoding(PDU pdu);
    /**
     * 获取VariableBindings区的BER编码
     * @param var 未编码Var数据
     * @return Var的编码
     */
    byte[] getVarCoding(VariableBindings var);
}
